home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / wfc007.000 / include / serial.hpp < prev    next >
C/C++ Source or Header  |  1996-04-08  |  1KB  |  57 lines

  1. #ifndef SERIAL_FILE_CLASS_HEADER
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like.
  9. */
  10.  
  11. #define SERIAL_FILE_CLASS_HEADER
  12.  
  13. class CSerialFile : public CDummyFile
  14. {
  15.    DECLARE_SERIAL( CSerialFile )
  16.  
  17.    private:
  18.  
  19.       void m_Initialize( void );
  20.  
  21.    protected:
  22.  
  23.       BOOL m_IsOpen;
  24.  
  25.       DWORD m_CommunicationErrorCodes;
  26.  
  27.       COMSTAT m_CommunicationsStatus;
  28.  
  29.       virtual void m_ClearError( int line_number = 0 );
  30.  
  31.    public:
  32.  
  33.       CSerialFile();
  34.  
  35.       /*
  36.       ** Destructor should be virtual according to MSJ article in Sept 1992
  37.       ** "Do More with Less Code:..."
  38.       */
  39.  
  40.       virtual ~CSerialFile();
  41.  
  42.       CString Name; // COM1:9600,n,8,1
  43.  
  44.       HANDLE FileHandle;
  45.  
  46.       virtual BOOL Open( void ); // Name already filled, used in re-opening an existing session
  47.       virtual BOOL Open( const char *channel_name, UINT open_flags = 0, CFileException* pError = NULL );
  48.       virtual void Close( void );
  49.       virtual BOOL IsDataWaiting( void );
  50.       virtual UINT Read( void *buffer, UINT length );
  51.       virtual void Serialize( CArchive& archive );
  52.       virtual void Write( CString& data_to_write );
  53.       virtual void Write( const void *buffer, UINT number_of_bytes );
  54. };
  55.  
  56. #endif // SERIAL_FILE_CLASS_HEADER
  57.